Method and device for determining position of an autonomous apparatus

ABSTRACT

A carrier, such as an autonomous surface treatment device, e.g., a robotic vacuum cleaner, has motive units, such as wheels, for transporting the carrier over a field of operation. The state of the carrier, which can be its position on the field of operation, is determined based, at least in part, on the actual track width of the motive units which will change depending on the carriers driving mode. For example, when the carrier is operating in a driving mode where it is turning, the actual track width of the motive units will be different from the actual track width of those units when the carrier is proceeding straight ahead. A determination is made of the driving mode in which the carrier is operating at the time its state is to be determined, and the actual track width of the motive units that corresponds to that driving mode is employed in determining the state of the carrier.

TECHNICAL FIELD

[0001] The present invention relates, generally, to a system fordetermining the state of a carrier, such as its position or location, ona field of operation over which the carrier traverses.

BACKGROUND

[0002] Autonomous apparatuses, such as robotic vacuum cleaners and otherself-propelled devices, are well known in the prior art as, for example,disclosed in International Patent Applications WO 97/41451 (U.S. Pat.No. 5,935,179) and WO 00/38028. These autonomous apparatuses, generally,have a main body, supported on or by a number of motor-driven wheels orrollers and include means for surface treatment, such as a rotatingbrush in combination with a vacuum cleaning device. Typically, they areprovided with systems for guidance and navigation, together with asensing system for obstacle detection. The sensing system generallysweeps around the horizon in a manner similar, for example, to a ship'sradar. The autonomous devices usually include microprocessors, togetherwith appropriate software, for controlling the functioning of thedevices. Normally, a microprocessor receives input data from the motordriven wheels and the sensing system for the purpose of determining theposition of the device and the locations of wall limitations andpotential obstacles. This input data is then used as the basis fornavigating the autonomous device so that it will be able, for instance,to perform a cleaning function or other surface treatment function on afield of operation according to some predetermined strategy while at thesame time avoiding collisions with any obstacles or barriers such aswalls, tables, bookcases or the like.

[0003] Typically, an autonomous apparatus orients itself at any timewithin a field of operation defined by a map that is generated on thebasis of information obtained from a sensing system. Furthermore, themap, typically, is updated by the autonomous apparatus during itsmovements. It is important that as accurate a map as possible begenerated. It is also important that the exact position and orientationof the apparatus within the field of operation defined by the map bedetermined in order for the apparatus to satisfactorily perform itsfunctions. Although several types of systems for the self-determinationby an autonomous apparatus of its position have been developed, systemshaving distance sensors that take their input information from therotation of the wheels on which the autonomous apparatus is transported,have proven to be most cost-effective.

[0004] Cost-effective, internal, position-determination systems,usually, comprise wheel sensors that register the number of times thewheels have rotated. In order to determine the distance the apparatushas travelled since a previous registration, the number of wheelrotations is applied to the diameters of the wheels. This distancecalculation can be made with reasonably good accuracy when the surfaceof the field of operation is not too soft and the effective wheeldiameter can be assumed to be constant. However, when the surface isslippery or soft, the apparatus may skid and/or the wheels may spin. Inthose instances, the calculated distance travelled, based on the numberof wheel rotations, is incorrect. In order to correct for suchcircumstances, a position calibration method has to be carried out. Sucha method is disclosed in U.S. Pat. No. 5,794,166.

[0005] The method disclosed in U.S. Pat. No. 5,794,166 includespredicting the cumulative overall slippage of the apparatus that occurswhen the apparatus travels from a starting point to a destination pointalong an imaginary path. The creation of the imaginary path includes afirst step of rotating the apparatus at the starting point so that theapparatus is directed toward the point of destination. The apparatus isassumed to then travel forward from the staring point to the destinationpoint. Finally, a rotation of the apparatus at the destination point toalign it in a predetermined position is assumed to occur. An overallslippage component for each wheel is calculated, based on at least onedistance-dependent slippage factor.

[0006] To perform the method of U.S. Pat. No. 5,794,166, the track widthof the autonomous apparatus must be known. The track width is thedistance that separates the effective contact points between the twodriving wheels and the surface over which the apparatus operates. Thetrack width is also utilized for calculating the angles through whichthe autonomous apparatus would be required to turn along the imaginarypath.

[0007] A difficulty with the method disclosed in U.S. Pat. No. 5,794,166is that the actual track width of the autonomous apparatus will vary,depending on the type of surface over which the apparatus is to traveland the nature and direction of any turns the apparatus makes. This isbecause the locations of the effective contact points between the wheelsand the surface will vary, so as to vary the actual track width, andbecause the suspensions of the wheels are not totally rigid. As theeffective contact points are displaced during turning of the apparatus,the actual track width will change, and the slippage calculation made inaccordance with the method disclosed in U.S. Pat. No. 5,794,166 willprove to be erroneous.

SUMMARY

[0008] An object of the present invention is to provide a system foraccurately determining the state of a carrier on a field of operation.Another object of the present invention is to provide a calibrationprocedure for the system.

[0009] The state of a carrier, such as its position and location on afield of operation, can be determined employing the track width of themotive units that transport the carrier as one of the determinants. Acarrier will have the ability of operating in one or more driving modes,and, according to the invention, accurate determinations of the state ofthe carrier are accomplished as a result of the recognition that thetrack width of the motive units varies as a function of the type ofmovement, or driving mode, in which the carrier is engaged. It isnecessary to account for that variability, as the present inventiondoes, if an accurate determination of a state of the carrier, such asits position or location, is to be made.

[0010] According to one aspect, a carrier is provided with meanscomprising two oppositely disposed motive units for transporting thecarrier over a field of operation. The state of the carrier on thatfield of operation is determined by using the actual track width of themotive units, at least in part, as a determinant of the carrier's state.One or more potential driving modes for the carrier is related to theactual track widths that result when the carrier operates in thosemodes. A determination is made of the driving mode in which the carrieris operating at the time its state is to be determined and the actualtrack width that corresponds to that driving mode is employed indetermining the state of the carrier.

[0011] According to another aspect, the motive units comprise wheelsthat are arranged to be driven independently of one another and thedriving mode employed is defined by the overlapping of a range ofrotational velocities for each wheel. Other driving modes employed areas follows: a driving mode defined by a range of rotational velocitiesfor only one of the wheels; a driving mode defined by a specific ratiobetween the rotational velocities of the two wheels; a driving modedefined by a range of ratios between the rotational velocities of thetwo wheels. Additionally, a grouping of five driving modes can beemployed. In that case, a first mode is defined by both wheels havingequal rotational velocities in a direction tending to move the carrierin a forward direction; a second and third modes are defined,respectively, by the rotation of one wheel in one direction or the otherand the rotation of the other wheel in the opposite direction at thesame rotational velocities; and a fourth and fifth modes are defined,respectively, by the rotation at one rotational velocity of one or theother of the wheels in a direction tending to move the carrier forward,either alone or together, with the rotation in the same direction at alower rotational velocity of the other of the wheels.

[0012] According to yet another aspect, the state of the carrier to bedetermined is the position of the carrier in the field of operation andthe carrier comprises an autonomous vacuum cleaner.

[0013] According to still another aspect, the carrier is calibrated andactual track widths are related or correlated to potential driving modesby aligning the carrier in an initial known direction or position. Thecarrier is then driven in accordance with a driving mode. Adetermination is made of the angle through which the carrier has turnedwhile being driven in that driving mode. The distance each of the motiveunits or wheels has travelled while the carrier has turned through thatangle is determined. The actual track width for that driving mode basedon the distance and angle determinations is then calculated.

[0014] According to yet another aspect, the calculating step in thecalibration procedure includes calculating an approximate angle throughwhich it is estimated that carrier has turned based on the distancedeterminations for the motive units or wheels and an assumed trackwidth. Thereafter the difference between the approximate angle and thedetermined angle is calculated. At that point, the actual track width iscalculated as a correction to the assumed track width based on thatcalculated difference.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The invention, together with further objects and advantagesthereof, will be best understood by reference to the followingdescription taken together with the accompanying drawings, in which:

[0016]FIG. 1 illustrates a three-dimensional top view of an embodimentshowing an autonomous apparatus in the form of a vacuum-cleaning robotequipped according to the present invention;

[0017]FIG. 2 is a side view of the autonomous apparatus shown in FIG. 1;

[0018]FIG. 3 is a front view of the autonomous apparatus shown in FIG.1;

[0019]FIG. 4 illustrates a block diagram of the hardware that controlsthe operation of the apparatus shown in FIG. 1;

[0020]FIGS. 5a, 5 b and 5 c illustrate possible ways of defining thedriving modes of an autonomous apparatus according to the presentinvention;

[0021]FIGS. 6a and 6 b illustrate the manner in which the actual trackwidth of an autonomous apparatus may vary;

[0022]FIG. 7 is a detailed view of the block diagram of FIG. 4,highlighting the hardware and the software primarily used by the presentinvention;

[0023]FIG. 8 is a flow diagram of the position determination procedureof the present invention; and

[0024]FIGS. 9a and 9 b are flow diagrams of the calibration procedure ofthe present invention.

DETAILED DESCRIPTION

[0025] In the following, the invention will be described with referenceto a particular example of a carrier that traverses a field ofoperation, namely an autonomous vacuum-cleaning device. It should beunderstood, however, that the invention is not limited thereto, and thatthe invention is applicable to various types of carriers or vehicles,such as transport vehicles employed in manufacturing environments,multi-purpose robots, robotic lawnmowers and autonomoussurface-treatment devices for sweeping, brushing and polishing floors.Throughout the drawings, the same reference characters are used forcorresponding or similar elements.

[0026] In the present disclosure, the term “velocity,” is applied tovalues that have both a magnitude and a direction, i.e. the values canbe either positive or negative, while the term “speed” is applied to theabsolute value of velocity.

[0027] General Features

[0028]FIG. 1 is a three-dimensional top view of an autonomousvacuum-cleaning device 1, which, under its own power, moves over a floorand vacuum cleans a room. At the front of the device there is arrangedan ultrasonic system comprising an ultrasonic transmitter 10 andultrasound, echo-sensor microphone units 12 and 13. The ultrasonictransmitter 10 is strip-shaped and is of a length covering approximately180 degrees of the perimeter of the device, as illustrated in FIGS. 2and 3. As seen in FIG. 2, the transmitter 10 is mounted above a lower,first row of ultrasound, echo-sensor microphone units 12 and below anupper, second row of ultrasound, echo-sensor microphone units 13. Theultrasonic sonar system, formed by the transmitter 10 and the microphoneunits 12 and 13, aids in the navigation of the device as it traversesthe floor of an area to be vacuumed. In the illustrated embodiment, thetransmitter is countersunk in a forward-directed bumper unit 16. Thebumper 16 controls a left and a right bumper touch sensor 12 a, eitherone being actuated if the bumper makes contact with an obstacle.

[0029] From FIGS. 2 and 3 it will be seen that the device has meanscomprising two oppositely disposed motive units, i.e., diametricallypositioned wheels 17 and 18, for transporting the device over a field ofoperation. Each wheel is independently driven by a separate motor,preferably equipped with a gearbox. This independent arrangement of thewheels allows the wheels to be driven at different speeds and inopposite rotational directions whereby the carrier is provided with thecapability of operating in one or more driving modes. For example, thedriving wheels 17 and 18 can be driven at equal speeds in oppositedirections thereby establishing a driving mode which enables the deviceto rotate around its own center of symmetry. On the axle or shaft fromeach motor driving a respective wheel 17 or 18, a quadrature sensor ismounted. Quadrature signals from the sensors are received by a built-inmicroprocessor controlling the device. The signals from these sensors,or equivalent devices, are used for obtaining a dead count forestimating the distance of travel. This function is described in greaterdetail below.

[0030] Optional wheels can be provided to support the rear of thedevice. The device is generally balanced with a slightly larger weighton its rear half which carries, for instance, the batteries for drivingthe motors for wheels 17 and 18. As a result, the device is more likelyto move with all its wheels in contact with the surface over which ittraverses and it will easily pass over the edges of floor carpets andthe like.

[0031] The autonomous device may advantageously be equipped withHall-effect sensors, one being located in front of each wheel 17 and 18,for the detection of a magnetic fence and/or one or more magneticstrips. Magnetic fences and magnetic strips are used to restrict themovement of the device. For example, a fence can be placed in front of astairway so that the device does not fall down the stairs. A fence canalso be placed in a doorway so that the movement of the device can beconfined to one room without having to close the door between the rooms.Thus, it is possible to clean one room at a time, which is an effectiveway of cleaning. Magnetic strips can be located adjacent to an automaticcharging station in a manner so that the device may appropriatelyposition itself in order to have its batteries recharged.

[0032]FIG. 4 is a block diagram of the hardware that controls theoperation of the device illustrated in FIGS. 1, 2 and 3. The hardware,basically, consists of a processor board, which is configured to drivethe two wheel motors; the ultrasonic transmitter, together with thecorresponding ultrasound echo-sensor microphone units; and the fan andbrush motors, as well as other components of the autonomous vacuumcleaning device. The processor board is essentially built around a maindata processor or central processing unit (CPU) such as the MC68332 fromMotorola Inc. The MC68332 is a highly-integrated microcontroller thatcombines data manipulation capabilities with peripheral subsystems.

[0033] The sonar system, formed by the transmitter and microphone units,is utilized for obstacle detection purposes, such as the detection ofobstacles in the path of the device as it moves, and the pinpointing ofthe nearest obstacle. The main processor controls the transmitter andreceives input data from the microphone units for subsequent evaluation.

[0034] The processor also controls the motor for the vacuum cleaner'srotating brush, as well as the motor for the cleaner's fan whichgenerates the necessary vacuum for the functioning of the vacuumcleaner. Air from the fan motor is, additionally, in a known manner,utilized for cooling purposes, with the air being exhausted through agrilled outlet at the top of the cleaner.

[0035] The main processor is controlled by software stored in a numberof different types of digital memories, for example, FPROM, RAM orE²PROM, which are all well known to a person familiar with the computerart. Additionally, the processor has its own clocking system (CLK) alsoknown from the prior art.

[0036] The system, as illustrated in FIG. 4, further comprises twobumper switches and two tilt switches. The two bumper switches, L-Bumperand R-Bumper, are connected to two TPU input pins working in discreteinput/output (I/O) mode and are used, as a complement to the sonarsystem, for the detection of collisions with obstacles. The tiltswitches are used to detect whether the device is level with respect tothe floor or at an angle to it.

[0037] The system of FIG. 4 also includes a number of switches for inputcommands from a control panel. This enables the user, for example, toturn the vacuum cleaner on and off, and to select one of a number ofcleaning programs to be executed by the cleaner.

[0038] Signals representative of the magnetic fields that are sensed bythe Hall sensors are fed to the main processor via the analog to digital(A/D) converter and processed to allow the detection, for example, of amagnetic fence or magnetic strips installed at an automatic chargingstation. The offset voltages of the analogue Hall sensors may vary withtime, temperature and individual sensors, and, therefore, a zero-fieldreference point is constantly recalculated with a slow averaging filterand adjusted based on pulse width modulated signals from the mainprocessor.

[0039] In order to detect malfunctions, various signals are continuouslymeasured and fed to the processor for evaluation, either directly viathe A/D converter or first through the multiplexer (MUX).

[0040] The wheel motors are separately controlled by pulse-widthmodulated (PWM) signals of 5 kHz, generated by channels from the TimeProcessor Unit (TPU) in the CPU. In order to detect the number of timeseach wheel has rotated, the quadrature encoders (QENC) mounted inconnection with the wheel motors generate quadrature signals that areconnected to TPU inputs of the MC68332. The quadrature signals areprocessed by the CPU to provide information as to the position of thedevice by keeping track of the distance the device has travelled and,preferably, also the extent to which the autonomous device has rotatedduring movement, all as described in more detail below.

Position Determination

[0041] According to the present invention, in determining the positionof an autonomous carrier or vehicle, such as a robotic vacuum cleaner,in a field of operation, it is necessary to know the distances themotive units or wheels that transport the carrier have travelled duringthe course of travel of the carrier from its last known position and theturning movements the carrier has made during its course of travel.

[0042] In the presently preferred embodiment, the distances the wheelshave travelled are ascertained by noting the number of times the driveshafts of the motors for the wheels have rotated while the carrier hasmoved from a known to a new position. For purposes of measuring thedistances the wheels have travelled, it is necessary only to multiplythe number of rotations that have occurred by the circumference of thewheels. On the other hand, as will be explained in greater detail below,the angular change in direction the carrier has made, as a result of itsturning movements during its course of travel, is a function of both thedistance each wheel has travelled and the track width of the wheels.

[0043] In order to determine the number of times each drive shaft hasrotated, encoders 51 and 52 are used as illustrated in FIG. 7. Accordingto the presently preferred embodiment, each encoder 51 and 52 is made ofHall sensors generating a quadrature signal in response to the rotationof a magnetic disc mounted so as to rotate together with a respectivewheel 17 or 18. Each magnetic disc is divided into a number of sectorshaving different magnetic directions. As the discs rotate, the encoders51 and 52 register the changes in magnetism that occur and, thereby,measure the rotations of wheels 17 and 18. Other devices for measuringthe rotations of the wheels may be used. These include slotted discencoders and related devices.

[0044] The heading of the autonomous cleaner as a result of its turning,can be calculated from the following formula: $\begin{matrix}{{\Delta \quad \alpha} = {\frac{{DistRight} - {DistLeft}}{TrackWidth} \cdot \frac{180}{\pi}}} & (1)\end{matrix}$

[0045] where Δα is the angle, in degrees, through which the cleaner hasturned from its previous position; DistRight and DistLeft are thedistances traveled by the right and the left wheels, respectively; andTrackWidth is the actual track width 30 of the cleaner as illustrated inFIGS. 6a and 6 b. Thus, to determine the heading of the cleaner, inaddition to needing to know the distance each wheel has travelled, theactual track width 30 must be known.

[0046] The difficulty in establishing the track width 30 of the carrieris that it varies depending on the driving mode of the carrier which, inturn, depends on the type of surface being cleaned, as well as on theseverity and direction of any turn the carrier is making. Referring toFIG. 6a, which is a view from the front of and along the bottom of thevacuum cleaner, there are illustrated the wheels 17 and 18 of thecarrier in engagement with surface 33 at effective contact points 31 and32. This would be the case when the apparatus is proceeding straightahead with the same rotational speed applied to both driving wheels. Theeffective contact points 31 and 32, typically, in this driving mode, arelocated at the mid-points of the widths of the wheels 17, 18. Thedistance between these effective contact points defines the actual trackwidth 30 of the carrier for the driving mode where the carrier istravelling straight ahead.

[0047] In FIG. 6b, the actual track width 30 is shown when the carrieris in a different driving mode. In this driving mode the carrier isturning to the right while proceeding forward. As a result, theeffective contact point 32 of the driving wheel in the direction of theturn, i.e., the right wheel 18, is displaced from the mid-point of thewidth of the wheel toward the side of the wheel that faces the turningdirection. This displacement of the effective contact point for wheel 18changes the actual track width 30 of the wheels.

[0048]FIGS. 6a and 6 b are, merely, examples illustrating the dependenceof the actual track width 30 upon the driving mode of the carrier. Theeffective contact points 31 and 32 and, consequently, the actual trackwidth will also change with other driving modes, but the importance ofdetermining the actual track width so that an accurate determination ofthe turning angle of the carrier may be made will be understood.

[0049] Different driving modes, representative of and corresponding todifferent actual track widths, may be defined by the rotationalvelocities of the driving wheels 17 and 18 as illustrated in FIGS. 5a, 5b and 5 c. These figures represent three different embodiments ofestablishing correlations between the rotational velocities of thedriving wheels and driving modes. All three figures are based on acoordinate system in which the x-axis represents the rotational velocityof the left wheel and the y-axis represents the rotational velocity ofthe right wheel. Which wheel is defined as the left wheel or the rightwheel does not matter as long as whichever axis is selected for aparticular wheel is consistently applied to that wheel.

[0050] In the embodiment of the present invention illustrated in FIG.5a, the driving modes are defined by a respective range of ratiosbetween the rotational velocities of the wheels in the form of:$\begin{matrix}{A \leq \frac{VelRightWheel}{VelLeftWheel} \leq B} & (2)\end{matrix}$

[0051] where VelRightWheel and VelLeftWheel are the velocities of thetwo driving wheels 17 and 18, respectively, and A and B are the limitswithin which the ratio associated with any individual driving mode is tobe defined. This way of defining the driving modes results in thecoordinate system of FIG. 5 being divided into sectors 40 a-401 thatrepresent different driving modes corresponding to different actualtrack widths.

[0052] The ratio between the rotational velocities of the two wheelswill be the same if their magnitudes are the same even though thedirections of rotation are different. Thus, if the ratio of therotational speed of the wheels is the single defining parameter, drivingforward with both wheels rotating at the same velocity and drivingbackwards with the same rotational speed for the wheels are defined, inthis embodiment, as the same driving mode. As a result, in FIG. 5a,sectors 40 a and 40 b represent the same driving mode and produce thesame actual track width. However, additional defining parameters, suchas the algebraic sign of the velocities of the wheels, may also be used.In that case, the sectors 40 a and 40 b may constitute different drivingmodes with different actual track widths.

[0053]FIG. 5b illustrates another embodiment for defining driving modes.The driving modes 40 m-40 o are illustrative of modes where therotational velocity of only one wheel is within a specified range thatdefines the driving mode and also where the rotational velocities ofboth wheels are within specified ranges that define a driving mode wherethe ranges of velocities overlap. In other words, ranges can be appliedfor each wheel independently or simultaneously for both wheels. Thus,for the driving mode represented by 40 m, the mode is set by a specifiedrange of velocities for the left wheel regardless of the velocity of theright wheel. Conversely, for the driving mode represented by 40 n, themode is set by a specified range of velocities for the right wheelregardless of the velocity of the left wheel. In the case of drivingmode 40 o, the velocities of both wheels define the driving mode wherethe ranges of velocities for the two wheels overlap and a more precisedefinition of a driving mode is obtained in that case. For someoperations it may be sufficient to base the driving mode definition onthe rotational velocity of only one wheel. A general definition of adriving mode may be used as shown by the driving mode 40 p whichillustrates the use of only a single limit on the velocity of the rightwheel and no limit on the velocity of the left wheel.

[0054] The driving modes illustrated in FIG. 5b are presented for thepurpose of providing a greater understanding of the many possibilitiesthat exist for defining driving modes. Preferably, however, the drivingmodes used should be complementary and cover all motion patterns ofwhich the carrier is capable.

[0055]FIG. 5c illustrates an embodiment of the invention that defines aselection of driving modes that is presently preferred. In FIG. 5c,illustrates a selection of five driving modes that may be used by thecarrier. The three driving modes represented at 40 r, 40 t and 40 ucorrespond to rotational velocities of the wheels that produce a singleratio in each case. A first driving mode 40 r represents forward travelof the carrier wherein the rotational velocities of the two drivingwheels 17 and 18 are the same. For this driving mode, the actual trackwidth is equal to the distance between the mid-points of the wheelwidths as illustrated in FIG. 6a, with, possibly, some compensationbeing made for unintentional turns. Second and third driving modes 40 tand 40 u are representative of driving modes when the apparatus turns inplace around its own axis of symmetry. The magnitudes of the rotationalvelocities of the wheels are the same in that case but the directions ofrotation are opposite. In driving mode 40 u, the right wheel is rotatingin a forward direction whereas the left wheel is rotating in a backwarddirection. The opposite is true for driving mode 40 t, where the leftwheel rotates in a forward direction and the right wheel rotates in abackward direction. The fourth and fifth driving modes 40 q and 40 srepresent modes where the carrier is turning while moving forward andcorrespond to rotational velocities of the wheels that produce ranges ofratios. Driving mode 40 q represents a mode where the carrier is turningto the left, and driving mode 40 s represents a mode where the apparatusis turning to the right. In driving mode 40 q, the right wheel isrotating forward, either alone or in combination with the forwardrotation of the left wheel. Of course, in that instance, the rotationalspeed of the left wheel will be slower than the rotational speed of theright wheel. Conversely, for driving mode 40 s, the left wheel is thewheel that rotates alone or faster than the right wheel. In thisselection, or grouping, of driving modes, the apparatus is never allowedto move backward. Instead, it turns in place 180 degrees and then movesforward. The carriers movements are, thus, limited to the five drivingmodes described, and they are sufficient to cover all the motionsrequired for the carrier to carry out its functions. A backward motionmay, however, be used in particular instances, such as when the carrierencounters an obstacle or a magnetic fence. If a backward motion isallowed, preferably, it will be represented by a driving mode where thecarrier moves straight back and the actual track width in that case willbe as illustrated in FIG. 6a.

[0056] The foregoing concept of providing for the potential of a carrierto have several driving modes, and relating each of those driving modesto an actual track width for the carrier's motive units so that somestate of the carrier that is dependent on the actual track width can beaccurately determined, will now be described with reference to themanner in which the position of the autonomous vacuum cleaner shown inthe Figures may be determined as it moves across a surface to becleaned.

[0057]FIG. 7 illustrates a portion of the hardware block diagram of FIG.4 in detail with elements not directly used for the purpose of positiondetermination being omitted. In order to move the autonomous cleaner 1,two pulse-width modulated signals (PWM) are outputted from the timeprocessor unit in microprocessor 21. These PWM signals separatelycontrol the applied voltage to each driving motor and thereby controlthe rotational speeds and directions of rotation of a respective wheel17 or 18.

[0058] The position determination system 50, functioning in cooperationwith microprocessor 21, serves to determine the position of the cleaneron the surface to be cleaned. As mentioned above, means in the form ofencoders 51 and 52 register the rotations of the motor shafts drivingthe wheels, thereby generating quadrature signals that are sent to themicroprocessor 21 where corresponding wheel velocities are determined.In order to determine the change in position of the cleaner since thelast such determination, the actual track width of the cleaner's wheelsmust be determined and this is done with reference to the cleaner'sdriving mode. The determination is made by means of software stored indigital memory 20. Based on the wheel rotational velocities, encoded inthe quadrature signals, driving mode determination means 54 in thedigital memory 20 is used to determine the driving mode of the cleaner,the information in the determination means being loaded and executed inthe microprocessor 21. Applying this determination of the driving mode,the associated actual track width is obtained. The actual track width isthen used in subsequent calculations for determining the position of thecleaner.

[0059] Once the actual track width is known from the driving mode ineffect, the change in position of the carrier is calculated bycalculation means 53 of position determination means 50. As with drivingmode determination means 54, the information in the calculation means 53is stored in the digital memory 20 and loaded and executed in themicroprocessor 21. The travelled distance is calculated based on thewheel rotations and the diameters of the wheels, whereas the heading ofthe carrier is calculated by the application of equation (1).

[0060] From the foregoing description it will be understood that, bystarting in an initial, well-defined position for a carrier, calculatingposition changes at intervals as the carrier moves, and storing thisinformation in the digital memories, the movement of the carrier iscontinuously monitored and its position at any time is known.Information as to the position of the carrier may be used, together witha map of the area of operation, by autonomous surface-treatment devicesto identify which sections of the area of operation have been treatedand which have not.

[0061] From certain operational points of view, it may be preferable tostore in memory 20 several different definitions of driving modestogether with the different actual track widths that are associated withthose driving modes. An operator can then select the driving modes whichare to apply in different circumstances such as when, for example, thesurface characteristics of the field of operation change or when theautonomous carrier is to perform a new operation for which the drivingmode previously selected is not representative. According to the presentinvention, however, the selection of the driving mode, preferably, isperformed by a calibration method, which will now be described.

[0062] Referring to FIG. 7, initially, aligning means 22 aligns theautonomous carrier in a known direction. The aligning means 22 controlsthe driving means 60 via the PWM signals from the microprocessor 21 soas to position the carrier in that known direction. The aligning means22, preferably, comprises magnetic detectors 23 and 24, e.g. Hallsensors, that detect a magnetic field that is located so as to positionthe carrier in the known direction. The magnetic field may originatefrom strips of magnetic materials or other magnetic sources, such as amagnetic fence and/or one or more of the magnetic strips employed inconnection with the automatic charging station referred to above. Otheraligning embodiments are possible; the aligning means 22 may comprisepush buttons that an operator pushes for the purpose of establishing, asthe carrier's initial known direction, the direction in which thecarrier is facing at the time. In that instance, no movement of thecarrier is required to provide an alignment which is used for thesucceeding calibration operation. Alternatively, an external signal maybe delivered to the carrier to trigger the calibration operation. Inthat case, the aligning means 22 would comprise a receiver, sensitive tothe external signal.

[0063] Once the carrier has been aligned in an initial direction, themicroprocessor 21 is caused to send PWM signals to the driving means 60so as to drive the wheels at speeds of a ratio comprehended by one ofthe driving modes stored in memory 20, thereby causing the carrier toproceed in accordance with that selected driving mode. For example, ifthe carrier moves according to the driving mode 40 r in FIG. 5c, it willmove straight ahead, i.e., without any turning. In this driving mode,the actual track width is equal to the distance between the mid-pointsof the widths of the wheels as shown in FIG. 6a, and no calibration isnecessary. On the other hand, if the wheels are driven at differentspeeds, causing the carrier to operate in a different driving mode andturn as it moves forward, a calculation must be made to obtain theactual track width for that driving mode. In order to make thecalculation, the actual angle through which the carrier turns as itproceeds in the selected driving mode must be determined. This isaccomplished by means 80 which uses an internal or external referencefor obtaining the actual turning angle.

[0064] Gyroscopes, sensitive to changes in the direction of travel, canbe used as an internal reference for calculating the actual turningangle of the carrier. External references that can be used includemagnetic fields sensed by the magnetic detectors 23 and 24 of aligningmeans 22 or other magnetic detectors. Just as for the initial alignmentof the carrier, other external signals, such as a signal beacon, oranother source located in the area of operation, may be used as astationary reference. During the turning of the carrier in the selecteddriving mode, the angles of the magnetic detectors on the carrier changerelative to the reference and the reference means 80 can, thereby,calculate the actual turning angle of the carrier. Alternatively, theapparatus may be caused to turn through a predetermined angle whichcould be determined by the operator. The wheel rotations that occurduring any of these turnings of the carrier are registered by theencoders 51 and 52 and the respective distances the wheels havetravelled are determined from the information the encoders provide.

[0065] By using the information as to wheel rotations and turning angle,the actual track width of the driving mode. can be calculated bycalculation means 70. In the embodiment illustrated in FIG. 7, thecalculation proceeds in the following manner: From the wheel rotations,an expected turning angle of the carrier is calculated in an expectationmeans 71, based on an assumed track width. The assumed track width maybe the track width used for straight forward movements, i.e., 40 r inFIG. 5c, or a previously calculated track width. Difference means 72calculates the difference between the actual turning angle, determinedby the reference means 80, and the expected turning angle obtained fromthe expectation means 71. Based on this difference, a correction of theassumed track width is determined by correction means 73. The assumedtrack width is then calibrated to correspond to the actual track width30.

[0066] It is also possible to calibrate the apparatus by rotating thewheels a predetermined number of rotations, determining thecorresponding actual turning angle and calculating the actual trackwidth based on that information.

[0067] The actual track widths may, using the methods described above,be calculated at one instance, e.g., at the start of the operation, forall possible driving modes. The information relating or correlating thedriving modes to actual track widths may then be stored in the digitalmemory 20. As the driving modes change during the operation of thecarrier, the corresponding stored actual track widths are used forposition determination. This stored data can be used so that calibrationcalculations need only be performed if a new driving mode is used andneed not be performed each time the apparatus is placed into operation.Another possibility is to calculate the track width as the apparatuschanges driving modes. The information may be stored in the memories 20for later use. However, preferably, the calibration is performedregularly or when there are indications of changes in the driving mode.

[0068]FIG. 8 is a schematic flow diagram that illustrates the positiondetermination method of the present invention. The method starts in step100. In step 101, the distance each of the two driving wheels hastravelled is determined. In step 102, a driving mode is determined,based on the ratio of the distances each wheel has travelled. In step103, the position change that has occurred since the previouscalculation is calculated, based on the actual track width thatcorresponds to the driving mode that has been determined to be ineffect. The position determination method is then completed (step 104).

[0069] The calibration method of the present invention is brieflydescribed in FIGS. 9a and 9 b. The calibration procedure starts in step200. In step 201, the apparatus is aligned in an initial directionselected by the operator or established by an external or internalinput. The apparatus is then, in step 202, caused to turn, in a selecteddriving mode. The actual turning angle is determined in step 203, usingan external or internal reference. In step 204, the corresponding wheelrotations are registered, preferably, by encoders for each wheel. Theactual track width of the selected driving mode is calculated in step205, and the procedure is completed in step 209.

[0070]FIG. 9b describes in more detail a preferred manner ofaccomplishing the calculation of step 205. In step 206, an expectedturning angle is calculated based on the wheel rotations and an assumedtrack width. The calculation continues in step 207, where the differencebetween the actual and the expected turning angles is determined. Instep 208, the actual track width is calculated as a correction to theassumed track width, applying the difference determined in step 207.Finally, the procedure is concluded in step 209.

[0071] It will be understood by a person skilled in the art that variousmodifications and changes may be made to the present invention withoutdeparting from the scope thereof, which is defined by the appendedclaims.

1. A method of determining the state of a carrier on a field ofoperation, the carrier having means comprising two oppositely disposedmotive units for transporting it over the field of operation, comprisingemploying the actual track width of the motive units as a determinant,at least in part, of the state of the carrier, relating one or morepotential driving modes for the carrier to the respective actual trackwidths that result when the carrier operates in those modes, determiningthe driving mode in which the carrier is operating at the time its stateis to be determined, and applying the actual track width thatcorresponds to that driving mode in determining the state of thecarrier.
 2. The method of claim 1 wherein the motive units comprisewheels that are arranged to be driven independently of one another. 3.The method of claim 2 wherein a driving mode employed is defined by theoverlap of a range of rotational velocities for each wheel.
 4. Themethod of claim 2 wherein a driving mode employed is defined by a rangeof rotational velocities for only one of the wheels.
 5. The method ofclaim 2 wherein a driving mode employed is defined by a single ratiobetween the rotational velocities of the two wheels.
 6. The method ofclaim 2 wherein a driving mode employed is defined by a range of ratiosbetween the rotational velocities of the two wheels.
 7. The method ofclaim 2 wherein five driving modes are employed, a first mode beingdefined by both wheels having equal rotational velocities in a directiontending to move the carrier in a forward direction, second and thirdmodes being defined, respectively, by the rotation of one wheel in onedirection or the other and the rotation of the other wheel in theopposite direction at the same rotational velocities, and a fourth andfifth modes being defined, respectively, by the rotation at onerotational velocity of one or the other of the wheels in a directiontending to move the carrier forward either alone or together with therotation in the same direction at a lower rotational velocity of theother of the wheels.
 8. The method of claim 1 wherein the state of thecarrier to be determined is the position of the carrier on the field ofoperation.
 9. The method of claim 8 wherein the carrier is an autonomousvacuum cleaner.
 10. The method of claim 9 wherein the motive unitscomprise wheels that are arranged to be driving independently of oneanother.
 11. The method of claim 10 wherein a driving mode employed isdefined by the overlap of a range of rotational velocities for eachwheel.
 12. The method of claim 10 wherein a driving mode employed isdefined by a range of rotational velocities for only one of the wheels.13. The method of claim 10 wherein a driving mode employed is defined bya single ratio between the rotational velocities of the two wheels. 14.The method of claim 10 wherein a driving mode employed is defined by arange of ratios between the rotational velocities of the two wheels. 15.The method of claim 10 wherein five driving modes are employed, a firstmode being defined by both wheels having equal rotational velocities ina direction tending to move the carrier in a forward direction, secondand third modes being defined, respectively, by the rotation of onewheel in one direction or the other and the rotation of the other wheelin the opposite direction at the same rotational velocities, and afourth and fifth modes being defined, respectively, by the rotation atone rotational velocity of one or the other of the wheels in a directiontending to move the carrier forward either alone or together with therotation in the same direction at a lower rotational velocity of theother of the wheels.
 16. The method of claim 2 wherein the procedure ofrelating potential driving modes to actual track widths that result whenthe carrier operates in those modes includes the steps of aligning thecarrier in an initial known direction, driving the carrier in accordancewith a driving mode, determining the angle through which the carrier hasturned while being driven in that driving mode, determining the distanceeach of the wheels has travelled while the carrier turned through thatangle, and calculating the actual track width for that driving modebased on the distance and angle determinations.
 17. The method of claim16 wherein said calculating step comprises calculating an approximateangle through which it is estimated the carrier has turned based on thedistance determinations for the wheels and an assumed track width,calculating the difference between the approximate angle and thedetermined angle, and calculating the actual track width as a correctionto the assumed track width based on that difference.
 18. The method ofclaim 16 wherein the state of the carrier to be determined is theposition of the carrier on the field.
 19. The method of claim 18 whereinthe carrier is an autonomous vacuum cleaner.
 20. The method of claim 19wherein a driving mode employed is defined by the overlap of a range ofrotational velocities for each wheel.
 21. The method of claim 19 whereina driving mode employed is defined by a range of rotational velocitiesfor only one of the wheels.
 22. The method of claim 19 wherein a drivingmode employed is defined by a single ratio between the rotationalvelocities of the two wheels.
 23. The method of claim 19 wherein adriving mode employed is defined by a range of ratios between therotational velocities of the two wheels.
 24. A carrier having meanscomprising two oppositely disposed motive units for transporting thecarrier over a field of operation, the carrier having the capability ofoperating in one or more driving modes, means for determining thedriving mode of the carrier, and means for calculating the position ofthe carrier on the field of operation based on the actual track width ofthe motive units that corresponds to the driving mode that has beendetermined and the respective distances the motive units have moved. 25.The carrier of claim 24 wherein the carrier comprises an autonomousvacuum cleaner.
 26. The carrier of claim 24 wherein the motive unitscomprise wheels that are arranged to be driven independently of oneanother.
 27. The carrier of claim 26 wherein the carrier comprises anautonomous vacuum cleaner.
 28. The carrier of claim 24 and includingmeans for aligning the carrier in a known direction, means fordetermining the angle through which the carrier turns when operating ina driving mode, and means for calculating an actual track widthassociated with that driving mode based on the angle through which thecarrier turns and the respective distances the motive units move whenthe carrier moves through that angle.
 29. The carrier of claim 28wherein the carrier comprises an autonomous vacuum cleaner.
 30. Thecarrier of claim 28 wherein the motive means comprises wheels that arearranged to be driven independently of one another.
 31. The carrier ofclaim 30 wherein the carrier comprises an autonomous vacuum cleaner. 32.A position determination system for a carrier having two oppositelydisposed motive units and capable of operating in one or more drivingmodes, comprising means for determining the driving mode of the carrier,and means for calculating the position of the carrier on a field ofoperation based on the actual track width of the motive units thatcorresponds to the driving mode that has been determined and therespective distances the motive units have moved.
 33. The positiondetermination system of claim 32 wherein the carriers motive unitscomprise wheels that are arranged to be driven independently of oneanother, and including means to register the respective rotations of thewheels for the purpose of enabling the velocities of the wheels to bedetermined.
 34. The position determination system of claim 33 whereinthe carrier is an autonomous vacuum cleaner.
 35. A position calibrationsystem for a carrier having two oppositely disposed motive units andcapable of operating in one or more driving modes, comprising means foraligning the carrier in a known direction, means for causing the carrierto proceed in accordance with a selected driving mode, means fordetermining the angle through which the carrier turns as it proceeds inthe selected driving mode, and means for calculating the actual trackwidth for the selected driving mode as a function of the determinedangle and the respective distances the motive units have travelled. 36.The system of claim 35 wherein the calculating means includesexpectation means for calculating an expected turning angle for thecarrier based on an assumed track width, difference means forcalculating the difference between the turning angle actually determinedand the expected turning angle, and means for determining a correctionfor the assumed track width based on that difference whereby the assumedtrack width is calibrated to correspond to the actual track width. 37.The system of claim 36 wherein the motive units comprise wheels that arearranged to be driven independently of one another and the carrier is anautonomous vacuum cleaner.